/**
  FileControl访问FTP服务器只用来读取文件名称
**/

#ifndef FILECONTROL_H
#define FILECONTROL_H

#include <QString>
#include <QFile>
#include <QDir>
#include <QUrl>
#include "qftp.h"
#include "qurlinfo.h"
#include <QDebug>
#include <QTextCodec>
#include <QListWidget>


//必须加public QObject
class FileControl:public QObject
{
    Q_OBJECT
public:
    explicit FileControl(QWidget *parent = 0);
    //查询音频文件，返回字符串列表在List中显示
    //static QStringList findMediaFile_Music();//static声明此为静态方法，可以静态调用，即不需要实例化
    QStringList findMediaFile_Music();   
    //为什么这里不能加静态？
    //如果这个set函数为静态函数，则无法修改类的成员变量
    //void setcurrentMediaName(QString name);
    QString getDirctor(void);
    //QString getcurrentMediaName(void);
    QStringList get_FTP_fileList();
    void FTP_Process(void);
    void setDirctor(QString dirctor);
    void setFTPParameter(QString FTP_host,int FTP_port,QString FTP_userName,QString FTP_password,QString FTP_path);

private slots:
    void FTPCommandFinished(int,bool error);//FTP命令结束的槽函数
    void FTP_findMediaFile_Music(const QUrlInfo &urlInfo);//在FTP上查找音乐文件，返回字符串数组

signals:
    void isFinished(QStringList mediaName);

private:
    //为什么这个变量无法使用
    QString currentMediaName = "null";
    QString _Dirctor = "E:/Project/QtProject/MediaPlayer/music/";
    //FTP参数
    QFtp * ftp;
    QStringList FTP_mediaName;
    QString host = "192.168.1.100";
    int port = 2121;
    QString userName = "liuxin";
    QString passWord = "123456";
    QString FTP_musicPath = "/test";
    //使用get和set函数实现封装
};

#endif // FILECONTROL_H
